home *** CD-ROM | disk | FTP | other *** search
/ Animation How-To / Animation How-to CD.iso / PLY / CHAPTER3 / ROCKY / ROCK1.PI < prev    next >
Text File  |  1994-01-01  |  7KB  |  225 lines

  1. // ROCK1.PI - Rocking color weirdness
  2.  
  3. start_frame 0
  4. end_frame 29
  5. total_frames 30
  6.  
  7. outfile "rock1"
  8.  
  9. define pi 3.1415927
  10. define rad pi/180
  11.  
  12. define phz 360*frame/total_frames
  13.  
  14. // Lights 
  15.  
  16. light <0.5, 0.5, 0.5>, < 180, 150, -150>
  17. light <0.5, 0.5, 0.5>, < 0, 100, -15>
  18. light <0.5, 0.5, 0.5>, < 0, 0, 0>
  19.  
  20. // Camera
  21. viewpoint {
  22.    from <300,200,-250>
  23.    at <0,0,0>
  24.    up <0,1,0>
  25.    angle 120
  26.    aspect 1.433
  27.    resolution 320,200
  28.    }
  29.  
  30. // Action
  31. define a00 (1 + sin(  6 * rad)) / 2
  32. define b00 (1 + cos((phz +   6) * rad)) / 2
  33. define c00 (1 - sin((2*phz +   6) * rad)) / 2
  34.  
  35. define a01 (1 + sin( 18 * rad)) / 2
  36. define b01 (1 + cos((phz +  18) * rad)) / 2
  37. define c01 (1 - sin((2*phz +  18) * rad)) / 2
  38.  
  39. define a02 (1 + sin( 30 * rad)) / 2
  40. define b02 (1 + cos((phz +  30) * rad)) / 2
  41. define c02 (1 - sin((2*phz +  30) * rad)) / 2
  42.  
  43. define a03 (1 + sin( 42 * rad)) / 2
  44. define b03 (1 + cos((phz +  42) * rad)) / 2
  45. define c03 (1 - sin((2*phz +  42) * rad)) / 2
  46.  
  47. define a04 (1 + sin( 54 * rad)) / 2
  48. define b04 (1 + cos((phz +  54) * rad)) / 2
  49. define c04 (1 - sin((2*phz +  54) * rad)) / 2
  50.  
  51. define a05 (1 + sin( 66 * rad)) / 2
  52. define b05 (1 + cos((phz +  66) * rad)) / 2
  53. define c05 (1 - sin((2*phz +  66) * rad)) / 2
  54.  
  55. define a06 (1 + sin( 78 * rad)) / 2
  56. define b06 (1 + cos((phz +  78) * rad)) / 2
  57. define c06 (1 - sin((2*phz +  78) * rad)) / 2
  58.  
  59. define a07 (1 + sin( 90 * rad)) / 2
  60. define b07 (1 + cos((phz +  90) * rad)) / 2
  61. define c07 (1 - sin((2*phz +  90) * rad)) / 2
  62.  
  63. define a08 (1 + sin(102 * rad)) / 2
  64. define b08 (1 + cos((phz + 102) * rad)) / 2
  65. define c08 (1 - sin((2*phz + 102) * rad)) / 2
  66.  
  67. define a09 (1 + sin(114 * rad)) / 2
  68. define b09 (1 + cos((phz + 114) * rad)) / 2
  69. define c09 (1 - sin((2*phz + 114) * rad)) / 2
  70.  
  71. define a10 (1 + sin(126 * rad)) / 2
  72. define b10 (1 + cos((phz + 126) * rad)) / 2
  73. define c10 (1 - sin((2*phz + 126) * rad)) / 2
  74.  
  75. define a11 (1 + sin(138 * rad)) / 2
  76. define b11 (1 + cos((phz + 138) * rad)) / 2
  77. define c11 (1 - sin((2*phz + 138) * rad)) / 2
  78.  
  79. define a12 (1 + sin(150 * rad)) / 2
  80. define b12 (1 + cos((phz + 150) * rad)) / 2
  81. define c12 (1 - sin((2*phz + 150) * rad)) / 2
  82.  
  83. define a13 (1 + sin(162 * rad)) / 2
  84. define b13 (1 + cos((phz + 162) * rad)) / 2
  85. define c13 (1 - sin((2*phz + 162) * rad)) / 2
  86.  
  87. define a14 (1 + sin(174 * rad)) / 2
  88. define b14 (1 + cos((phz + 174) * rad)) / 2
  89. define c14 (1 - sin((2*phz + 174) * rad)) / 2
  90.  
  91. define a15 (1 + sin(186 * rad)) / 2
  92. define b15 (1 + cos((phz + 186) * rad)) / 2
  93. define c15 (1 - sin((2*phz + 186) * rad)) / 2
  94.  
  95. define a16 (1 + sin(198 * rad)) / 2
  96. define b16 (1 + cos((phz + 198) * rad)) / 2
  97. define c16 (1 - sin((2*phz + 198) * rad)) / 2
  98.  
  99. define a17 (1 + sin(210 * rad)) / 2
  100. define b17 (1 + cos((phz + 210) * rad)) / 2
  101. define c17 (1 - sin((2*phz + 210) * rad)) / 2
  102.  
  103. define a18 (1 + sin(222 * rad)) / 2
  104. define b18 (1 + cos((phz + 222) * rad)) / 2
  105. define c18 (1 - sin((2*phz + 222) * rad)) / 2
  106.  
  107. define a19 (1 + sin(234 * rad)) / 2
  108. define b19 (1 + cos((phz + 234) * rad)) / 2
  109. define c19 (1 - sin((2*phz + 234) * rad)) / 2
  110.  
  111. define a20 (1 + sin(246 * rad)) / 2
  112. define b20 (1 + cos((phz + 246) * rad)) / 2
  113. define c20 (1 - sin((2*phz + 246) * rad)) / 2
  114.  
  115. define a21 (1 + sin(258 * rad)) / 2
  116. define b21 (1 + cos((phz + 258) * rad)) / 2
  117. define c21 (1 - sin((2*phz + 258) * rad)) / 2
  118.  
  119. define a22 (1 + sin(270 * rad)) / 2
  120. define b22 (1 + cos((phz + 270) * rad)) / 2
  121. define c22 (1 - sin((2*phz + 270) * rad)) / 2
  122.  
  123. define a23 (1 + sin(282 * rad)) / 2
  124. define b23 (1 + cos((phz + 282) * rad)) / 2
  125. define c23 (1 - sin((2*phz + 282) * rad)) / 2
  126.  
  127. define a24 (1 + sin(294 * rad)) / 2
  128. define b24 (1 + cos((phz + 294) * rad)) / 2
  129. define c24 (1 - sin((2*phz + 294) * rad)) / 2
  130.  
  131. define a25 (1 + sin(306 * rad)) / 2
  132. define b25 (1 + cos((phz + 306) * rad)) / 2
  133. define c25 (1 - sin((2*phz + 306) * rad)) / 2
  134.  
  135. define a26 (1 + sin(318 * rad)) / 2
  136. define b26 (1 + cos((phz + 318) * rad)) / 2
  137. define c26 (1 - sin((2*phz + 318) * rad)) / 2
  138.  
  139. define a27 (1 + sin(330 * rad)) / 2
  140. define b27 (1 + cos((phz + 330) * rad)) / 2
  141. define c27 (1 - sin((2*phz + 330) * rad)) / 2
  142.  
  143. define a28 (1 + sin(342 * rad)) / 2
  144. define b28 (1 + cos((phz + 342) * rad)) / 2
  145. define c28 (1 - sin((2*phz + 342) * rad)) / 2
  146.  
  147. define a29 (1 + sin(354 * rad)) / 2
  148. define b29 (1 + cos((phz + 354) * rad)) / 2
  149. define c29 (1 - sin((2*phz + 354) * rad)) / 2
  150.  
  151. define a30 (1 + sin(366 * rad)) / 2
  152. define b30 (1 + cos((phz + 366) * rad)) / 2
  153. define c30 (1 - sin((2*phz + 366) * rad)) / 2
  154.  
  155. define position_plain       0
  156. define position_objectx     1
  157. define position_worldx      2
  158. define position_cylindrical 3
  159. define position_spherical   4
  160. define position_radial      5
  161.  
  162. define lookup_plain    0
  163. define lookup_sawtooth 1
  164. define lookup_sin      2
  165. define lookup_ramp     3
  166.  
  167. define color_phase
  168. texture {
  169.    noise surface {
  170.       color white
  171.       position_fn position_spherical
  172.       lookup_fn lookup_ramp
  173.       octaves 1
  174.       turbulence 1.5+0.5*sin(phz*rad)
  175.       ambient 0.2
  176.       diffuse 0.8
  177.       specular 0.3
  178.       microfacet Reitz 5
  179.       color_map(
  180.       [0.000, 0.033, <a00, b00, c00>, <a01, b01, c01> ]
  181.       [0.033, 0.067, <a01, b01, c01>, <a02, b02, c02> ]
  182.       [0.067, 0.100, <a02, b02, c02>, <a03, b03, c03> ]
  183.       [0.100, 0.133, <a03, b03, c03>, <a04, b04, c04> ]
  184.       [0.133, 0.167, <a04, b04, c04>, <a05, b05, c05> ]
  185.       [0.167, 0.200, <a05, b05, c05>, <a06, b06, c06> ]
  186.       [0.200, 0.233, <a06, b06, c06>, <a07, b07, c07> ]
  187.       [0.233, 0.267, <a07, b07, c07>, <a08, b08, c08> ]
  188.       [0.267, 0.300, <a08, b08, c08>, <a09, b09, c09> ]
  189.       [0.300, 0.333, <a09, b09, c09>, <a10, b10, c10> ]
  190.       [0.333, 0.367, <a10, b10, c10>, <a11, b11, c11> ]
  191.       [0.367, 0.400, <a11, b11, c11>, <a12, b12, c12> ]
  192.       [0.400, 0.433, <a12, b12, c12>, <a13, b13, c13> ]
  193.       [0.433, 0.467, <a13, b13, c13>, <a14, b14, c14> ]
  194.       [0.467, 0.500, <a14, b14, c14>, <a15, b15, c15> ]
  195.       [0.500, 0.533, <a15, b15, c15>, <a16, b16, c16> ]
  196.       [0.533, 0.567, <a16, b16, c16>, <a17, b17, c17> ]
  197.       [0.567, 0.600, <a17, b17, c17>, <a18, b18, c18> ]
  198.       [0.600, 0.633, <a18, b18, c18>, <a19, b19, c19> ]
  199.       [0.633, 0.667, <a19, b19, c19>, <a20, b20, c20> ]
  200.       [0.667, 0.700, <a20, b20, c20>, <a21, b21, c21> ]
  201.       [0.700, 0.733, <a21, b21, c21>, <a22, b22, c22> ]
  202.       [0.733, 0.767, <a22, b22, c22>, <a23, b23, c23> ]
  203.       [0.767, 0.800, <a23, b23, c23>, <a24, b24, c24> ]
  204.       [0.800, 0.833, <a24, b24, c24>, <a25, b25, c25> ]
  205.       [0.833, 0.867, <a25, b25, c25>, <a26, b26, c26> ]
  206.       [0.867, 0.900, <a26, b26, c26>, <a27, b27, c27> ]
  207.       [0.900, 0.933, <a27, b27, c27>, <a28, b28, c28> ]
  208.       [0.933, 0.967, <a28, b28, c28>, <a29, b29, c29> ]
  209.       [0.967, 1.000, <a29, b29, c29>, <a00, b00, c00> ])
  210.          }
  211.    scale <100,100,100>
  212. }
  213.  
  214. define tx 100*sin(phz*rad)
  215. define ty 50*sin(phz*rad)
  216. define tz 100*sin(phz*rad)
  217.  
  218. // Create a volume
  219. object {
  220.    sphere <0,0,0>, 540
  221.    color_phase
  222.    translate <tx,ty,tz>
  223.    }
  224.  
  225.